﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MJM.SCA.EntidadesNegocio;
using MJM.RPP.EntidadesNegocio;
using MJM.Principal;
using MJM.SPP.EntidadesNegocio;

namespace wRegPadron.frmOpciones
{
    public partial class ucAccesoInternet : System.Web.UI.UserControl
    {
        protected void Listar()
        {
            AccesoInternetEN objAccesoInternetEN = new AccesoInternetEN();
            objAccesoInternetEN.ACCINT_chNOMACC = "";
            gvAccesos.DataSource = MediadorCN.GetAccesoInternetCN().Listar(objAccesoInternetEN);
            gvAccesos.DataBind();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlProxys.DataSource = MediadorCN.GetProxysCN().Listar();
                ddlProxys.DataValueField = "SERPRO_P_inID";
                ddlProxys.DataTextField = "SERPRO_chDIRSER";
                ddlProxys.DataBind();
                Listar();
                SubOpcionEN objSubOpcionEN = MediadorCN.GetSubOpcion().ObtenerTexto("MenuAccesoInter");
                lblTitulo.Text = objSubOpcionEN.SUBOPT_chNOMSOP;
                lblDescripcion.Text = objSubOpcionEN.SUBOPT_chDESSOP;
                cblPaginas.DataSource = MediadorCN.GetPaginas().Listar(1,"");
                cblPaginas.DataTextField = "PAGACC_chNOMPAG";
                cblPaginas.DataValueField = "PAGACC_P_inID";
                cblPaginas.DataBind();
            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            AccesoInternetEN objAccesoInternetEN = new AccesoInternetEN();

            objAccesoInternetEN.ACCINT_chNOMACC = txtGrupo.Text;
            if (rbLimitado.Checked)
                objAccesoInternetEN.ACCINT_inTIPACC = 1;
            if (rbTotal.Checked)
                objAccesoInternetEN.ACCINT_inTIPACC = 2;
            if (rbRestriccion.Checked)
                objAccesoInternetEN.ACCINT_inTIPACC = 3;
            objAccesoInternetEN.SERPRO_P_inID = Convert.ToInt32(ddlProxys.SelectedValue);
            int result = MediadorCN.GetAccesoInternetCN().Insertar(objAccesoInternetEN);
            if (result > 0)
            {
                if (objAccesoInternetEN.ACCINT_inTIPACC == 1 || objAccesoInternetEN.ACCINT_inTIPACC == 3)
                {
                    if (objAccesoInternetEN.ACCINT_inTIPACC == 1)
                        lblIndicacion.Text = "Seleccione las páginas que desea desbloquear";
                    else
                        lblIndicacion.Text = "Seleccione las páginas que desea bloquear";
                    hfIdIngresado.Value = result.ToString();
                    ModalPopupExtender2.Show();
                }
                txtGrupo.Text = "";
                AccesoInternetEN obj = new AccesoInternetEN();
                objAccesoInternetEN.ACCINT_chNOMACC = "";
                gvAccesos.DataSource = MediadorCN.GetAccesoInternetCN().Listar(objAccesoInternetEN);
                gvAccesos.DataBind();
            }
        }

        protected void gvAccesos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int id;
            GridViewRow row = gvAccesos.Rows[Convert.ToInt32(e.CommandArgument)];
            id = Convert.ToInt32(Server.HtmlDecode(row.Cells[0].Text));
            if (e.CommandName == "Eliminar")
            {
                hfIdSeleccionado.Value = id.ToString();
                ModalPopupExtender1.Show();
            }
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            PaginasUsuarioEN objPaginasUsuarioEN;
            for (int i = 0; i < cblPaginas.Items.Count; i++)
            {
                if (cblPaginas.Items[i].Selected)
                {
                    objPaginasUsuarioEN = new PaginasUsuarioEN();
                    objPaginasUsuarioEN.ACCINT_P_inID = Convert.ToInt32(hfIdIngresado.Value);
                    objPaginasUsuarioEN.PAGACC_P_inID = Convert.ToInt32(cblPaginas.Items[i].Value);
                    MediadorCN.GetPaginasUsuario().Insertar(objPaginasUsuarioEN);
                }
            }
            Listar();
        }

        protected void btnSi_Click(object sender, EventArgs e)
        {
            int result = 0;
            result = MediadorCN.GetAccesoInternetCN().Eliminar(Convert.ToInt32(hfIdSeleccionado.Value));
            if (result > 0)
                Listar();
        }
    }
}